home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
lists
/
gem
/
l_0799
/
659
< prev
next >
Wrap
Text File
|
1994-08-27
|
3KB
|
70 lines
Subject: repl
Date: Fri, 01 Jul 1994 11:13:04 +1000
From: Warwick Allison <warwick@cs.uq.oz.au>
Precedence: bulk
Annius Groenink:
>Leaving the right mouse button free is not necessary as MTOS and WINX
>allow using the left mouse button in background windows.
Normal TOS does too. NOWHERE does GEM insist that you treat a TOPPED
message as something that MUST top your window. Events in GEM are
advisory only. When GEM++ receives a TOPPED message, it uses the mouse
coordinates of the message as a click. If the click is not on anything
interesting, it just does a TOP, otherwise, it leaves the window untopped
and performs the operation. Any program that has a Toolbox and a Document
Window appreciates this behaviour. PageStream and Calamus do it, of course,
and I noticed that the new version of Kandinsky does also.
I'm amazed how few programs use this feature. GEM++ adopts the attitude
that ANYTHING can happen on backgrounded windows. It takes great care to
do efficient object scrolling, even if that object is partially obscured.
The top-window-is-active model is tiresome. We have to put up with it for
keyboard in most cases (although GEM++ gets around this by allowing
click-to-type on backgrounded editable text fields).
Craig.Graham@newcastle.ac.uk wrote:
>A shame GEM
>only provides two rectangle events - a rectangle list for event_multi()
>would solve this problem
Unfortunately, it wouldn't. What rectangles would you use? One for
every object? That's too inefficient. objc_find() uses the
hierarchical structure of objects to provide for VERY efficient
rectangle tracking. event_multi() would have to take a list of FORMS
to be efficient. This is also how it would be provided by a library.
I just don't see it as warranted, since not all s/w will implement
object tracking, and hence the GUI would be more inconsistent.
If this list considers rectangle/object tracking should be part of the
standard, then I'll gladly follow it (since many progs would then have
this consistent tracking feature). But it would have to be implemented
correctly (ie. not busy wait), and as one of the major ST softwares,
Calamus, doesn't bother to do it correctly (they use busy-wait), I
don't see much hope for it. [This is no comment against Calamus. They
could have just not given use all the neat features provided by
rectangle tracking, such as short-cut identification, continuous help,
cursor change in windows, etc. - I'd rather have those features in a
large product like Calamus, even if it does cost mtasking]
>I personally never use form_button or form_keybd at all........you can
>get along quite easily without them - check out the fully non-modal GUI
>in CLA for an example of this.
Indeed, the more specialized a library is, the less likely it is to call
these. For form_keybd, the default keyboard handling is terrible, so
often replaced. Neither do clipping either. If LTMF-2 can provide this
advanced keyboard handling, I'll gladly leave it out of GEM++.
>Take the argument to private email ...
Apologies.
--
Warwick